home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / graphics / tiff / README < prev    next >
Text File  |  1992-03-30  |  21KB  |  520 lines

  1. $Header: /usr/people/sam/tiff/RCS/README,v 1.15 92/03/31 11:31:13 sam Exp $
  2.  
  3. NOTE: The file CHANGES-v3.0 has a list of changes between
  4.       v2.4.2 and this software.
  5.  
  6. TIFF Software "Release" 3.00
  7. ----------------------------
  8. This is Version 3.00 of my public domain TIFF support software.
  9. Included is a library, libtiff, for reading and writing TIFF files.
  10. The library, along with associated tool programs, should handle most of
  11. your needs for reading and writing files that follow the 5.0 TIFF spec
  12. for Classes B, G, P, and R.  There is also considerable support for
  13. proposed additions that are to appear in the 6.0 TIFF spec.
  14.  
  15.     o core requirements
  16.     both "MM" and "II" byte orders are handled
  17.     multiple subfiles can be read and written
  18.     editing is NOT supported in that related subfiles (e.g.
  19.       a reduced resolution version of an image) are not automatically
  20.       updated
  21.     
  22.     Tags handled: NewSubfileType, ImageWidth, ImageLength, Rowsperstrip,
  23.               StripOffsets, StripByteCounts, XResolution, YResolution,
  24.               ResolutionUnit.
  25.     o Class B for bilevel images
  26.     SamplesPerPixel = 1
  27.     BitsPerSample = 1
  28.     Compression = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)
  29.     PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
  30.     o Class G for grayscale images
  31.     SamplesPerPixel = 1
  32.     BitsPerSample = 4, 8
  33.     Compression = 1 (none) 5 (LZW)
  34.     PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
  35.     o Class P for palette color images
  36.     SamplesPerPixel = 1
  37.     BitsPerSample = 1-8
  38.     Compression = 1 (none) 5 (LZW)
  39.     PhotometricInterpretation = 3 (Palette RGB)
  40.     ColorMap
  41.     o Class R for RGB full color images
  42.     SamplesPerPixel = 3
  43.     BitsPerSample = <8,8,8>
  44.     PlanarConfiguration = 1, 2
  45.     Compression = 1 (none) 5 (LZW)
  46.     PhotometricInterpretation = 2 (RGB)
  47.     o Class F for facsimile (proposed appendix to 5.0 spec)
  48.     (Class B tags plus...)
  49.     Compression = 3 (CCITT Group 3), 4 (CCITT Group 4)
  50.     FillOrder = 1 (MSB), 2 (LSB)
  51.     Group3Options = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)
  52.     ImageWidth = 1728, 2048, 2482
  53.     NewSubFileType = 2
  54.     ResolutionUnit = 2 (Inch), 3 (Centimeter)
  55.     PageNumber, XResolution,  YResolution, Software,
  56.     BadFaxLines, CleanFaxData, ConsecutiveBadFaxLines,
  57.     DateTime, DocumentName, ImageDescription, Orientation
  58.     o Class S for separated images (Appendix K to appear in 6.0)
  59.     SamplesPerPixel = 4
  60.     PlanarConfiguration = 1, 2
  61.     Compression = 1 (none), 5 (LZW)
  62.     PhotometricInterpretation = 5 (Separated)
  63.     InkSet = 1 (CMYK)
  64.     DotRange, InkNames, DotRange, TargetPrinter
  65.     o Class Y for JPEG images (Appendix O to appear in 6.0)
  66.     SamplesPerPixel = 3
  67.     BitsPerSample = <8,8,8>
  68.     PlanarConfiguration = 1, 2
  69.     Compression = 1 (none),  5 (LZW), 32865 (JPEG)
  70.     PhotometricInterpretation = 6 (YCbCr)
  71.     YCbCrCoefficients, YCbCrSubsampling, YCbCrPositioning
  72.     (colorimetry info from Appendix H; see below)
  73.     o Class "JPEG" for JPEG images (Appendix P to appear in 6.0)
  74.     PhotometricInterpretation = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
  75.     (Class Y tags if YCbCr)
  76.     (Class S tags if CMYK)
  77.     Compression = 6 (JPEG)
  78.     JPEGProc = 0 (baseline)
  79.     JPEGQTables = ... (offsets to per-channel Q matrices)
  80.     JPEGDCTables = .... (offsets to per-channel DC tables)
  81.     JPEGACTables = .... (offsets to per-channel AC tables)
  82.     JPEGRestartInterval
  83.     o Tiled Images (Appendix L to appear in 6.0)
  84.     TileWidth
  85.     TileLength
  86.     TileOffsets
  87.     TileByteCounts
  88.     o Image Colorimetry Information (Appendix H to appear in 6.0)
  89.     WhitePoint
  90.     PrimaryChromaticities
  91.     TransferFunction
  92.     ReferenceBlackWhite
  93.  
  94. In addition, the library supports some optional compression algorithms
  95. that are, in some cases, of dubious value.
  96.     Compression = 32766    NeXT 2-bit encoding
  97.     Compression = 32809    ThunderScan 4-bit encoding
  98.  
  99. [JPEG compression should fit into this library simply by replacing
  100.  the existing stub JPEG compression module.  That is, all YCbCr and
  101.  JPEG-related tags are supported in this version of the library.]
  102.  
  103. The following tags are recognized and handled by the library (as
  104. described in the table).  If no use is indicated, then the library
  105. reads and writes the tag, but does not use it internally.
  106.  
  107. Tag Name        Value    R/W    Library's Use
  108. -----------------------------------------------------
  109. NewSubFileType        254    R/W    (called SubFileType)
  110. SubFileType        255    R/W    (called OSubFileType)
  111. ImageWidth        256    R/W    lots
  112. ImageLength        257    R/W    lots
  113. BitsPerSample        258    R/W    lots
  114. Compression        259    R/W    choosing compression routines
  115. PhotometricInterpretation 262    R/W    Group 3 and JPEG code
  116. Thresholding        263    R/W    
  117. CellWidth        264        parsed but ignored
  118. CellLength        265        parsed but ignored
  119. FillOrder        266    R/W    control bit order
  120. DocumentName        269    R/W
  121. ImageDescription     270    R/W
  122. Make            271    R/W
  123. Model            272    R/W
  124. StripOffsets        273    R/W    data i/o
  125. Orientation        274    R/W
  126. SamplesPerPixel        277    R/W    lots
  127. RowsPerStrip        278    R/W    data i/o
  128. StripByteCounts        279    R/W    data i/o
  129. MinSampleValue        280    R/W
  130. MaxSampleValue        281    R/W
  131. XResolution        282    R/W
  132. YResolution        283    R/W    used by Group 3 2d encoding
  133. PlanarConfiguration    284    R/W    data i/o
  134. PageName        285    R/W
  135. XPosition        286    R/W
  136. YPosition        286    R/W
  137. FreeOffsets        288        parsed but ignored
  138. FreeByteCounts        289        parsed but ignored
  139. GrayResponseUnit    290        parsed but ignored
  140. GrayResponseCurve    291        parsed but ignored
  141. Group3Options        292    R/W    used by Group 3 code
  142. Group4Options        293    R/W
  143. ResolutionUnit        296    R/W
  144. PageNumber        297    R/W
  145. ColorResponseUnit    300        parsed but ignored
  146. TransferFunction    301    R/W
  147. Software        305    R/W
  148. DateTime        306    R/W
  149. Artist            315    R/W
  150. HostComputer        316    R/W
  151. Predictor        317    R/W    used by LZW code
  152. WhitePoint        318    R/W
  153. PrimaryChromacities    319    R/W
  154. ColorMap        320    R/W
  155. TileWidth        322    R/W    data i/o
  156. TileLength        323    R/W    data i/o
  157. TileOffsets        324    R/W    data i/o
  158. TileByteCounts        324    R/W    data i/o
  159. BadFaxLines        326    R/W
  160. CleanFaxData        327    R/W
  161. ConsecutiveBadFaxLines    328    R/W
  162. InkSet            332    R/W
  163. InkNames        333    R/W
  164. DotRange        336    R/W
  165. TargetPrinter        337    R/W
  166. ExtraSamples        338    R/W
  167. SampleFormat        339    R/W
  168. JPEGProc        512    R/W    JPEG code
  169. JPEGQRestartInterval    515    R/W    JPEG code
  170. JPEGQTables        519    R/W    JPEG code
  171. JPEGDCTables        520    R/W    JPEG code
  172. JPEGACTables        521    R/W    JPEG code
  173. YCbCrCoefficients    529    R/W    used by TIFFReadRGBAImage
  174. YCbCrSubsampling    530    R/W    tile/strip size calculations
  175. YCbCrPositioning    531    R/W
  176. ReferenceBlackWhite    532    R/W
  177. Matteing        32995    R
  178. DataType        32996    R
  179. ImageDepth        32997    R/W    tile/strip calculations
  180. TileDepth        32998    R/W    tile/strip calculations
  181.  
  182. The Matteing and DataType tags have been obsoleted by the 6.0
  183. ExtraSamples and SampleFormat tags.  Note that the ExtraSamples tag is
  184. only supported as needed to store Associated Alpha data.  Consult the
  185. documentation on the ExtraSamples tag and Associated Alpha for
  186. elaboration.  Note however that if you use Associated Alpha, you are
  187. expected to save data that is pre-multipled by Alpha.  If this means
  188. nothing to you, check out Porter & Duff's paper in the '84 SIGGRAPH
  189. proceedings: "Compositing Digital Images".
  190.  
  191. The ImageDepth tag is a non-standard, but registered tag that specifies
  192. the Z-dimension of volumetric data.  The combination of ImageWidth,
  193. ImageLength, and ImageDepth, defines a 3D volume of pixels that are
  194. further specified by BitsPerSample and SamplesPerPixel.  The TileDepth
  195. tag (also non-standard, but registered) can be used to specified a
  196. subvolume "tiling" of a volume of data.
  197.  
  198. The JPEG, Colorimetry, and CMYK tags are planned additions for TIFF
  199. 6.0.  Consult the appropriate TIFF appendices for the descriptions of
  200. these tags.
  201.  
  202. LIBTIFF
  203. -------
  204. Libtiff is the software library that you can use to read and write TIFF
  205. files (most all the tools use it to do their work).  The library
  206. provides two interfaces, one for strip-based images and one for
  207. tile-based images.  The normal interface is through a simple
  208. scanline-based interface that works with images comprised of strips.
  209. For example, to read the contents of a file, the following might be used:
  210.  
  211.     #include "tiffio.h"
  212.  
  213.     TIFF *tif;
  214.     unsigned long imagelength;
  215.     char *buf;
  216.     long row;
  217.  
  218.     tif = TIFFOpen("myfile.tif", "r");
  219.     TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
  220.     buf = malloc(TIFFScanlineSize(tif));
  221.     for (row = 0; row < imagelength; row++)
  222.         TIFFReadScanline(tif, buf, row);
  223.  
  224. (this example assumes samples are packed contiguously.)  Similarly, to
  225. write a file, something like the following can be used:
  226.  
  227.     tif = TIFFOpen("myfile.tif", "w");
  228.     TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, imagewidth);
  229.     TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_LZW);
  230.     ... <set other required tags>
  231.     row = 0;
  232.     while (...more scanlines to write...)
  233.         TIFFWriteScanline(tif, buf, row);
  234.     TIFFClose(tif);
  235.  
  236. (once again, we assume samples are packed contiguously.)
  237.  
  238. A 2D tile-based interface is also provided as an alternative to the
  239. scanline-orientated interfaces.  With this interface, an image is
  240. broken up into a set of rectangular areas called tiles.  All the tiles
  241. in an image have the same size, and the tile width and length must each
  242. be a multiple of 16 pixels.  Tiles are ordered left-to-right and
  243. top-to-bottom in an image.  As for scanlines, samples can be packed
  244. contiguously or separately.  When separated, all the tiles for a sample
  245. are colocated in the file.  That is, all the tiles for sample 0 appear
  246. before the tiles for sample 1, etc.
  247.  
  248. Tiles and strips may also be extended in a z dimension to form
  249. volumes.  Data volumes are organized as "slices".  That is, all the
  250. data for a slice is colocated.  Volumes whose data is organized in
  251. tiles can also have a tile depth so that data can be organized in
  252. cubes.
  253.  
  254. The interface for tiles is similar to scanlines.  To read a tiled image,
  255. code of the following sort might be used:
  256.  
  257.     unsigned long imageWidth, imageLength;
  258.     unsigned long tileWidth, tileLength;
  259.     unsigned long x, y;
  260.     char *buf;
  261.  
  262.     tif = TIFFOpen("myfile.tif", "r");
  263.     TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
  264.     TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
  265.     TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
  266.     TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
  267.     buf = malloc(TIFFTileSize(tif));
  268.     for (y = 0; y < imageLength; y += tileLength)
  269.         for (x = 0; x < imageWidth; x += tileWidth)
  270.             TIFFReadTile(tif, buf, x, y, 0);
  271.  
  272. (once again, we assume samples are packed contiguously.)
  273.  
  274. Note that unlike the stdio library, libtiff only supports reading OR
  275. writing of a file.   There is also an append mode, but this has not
  276. really been tested.
  277.  
  278. TOOLS
  279. -----
  280. There are two device-dependent programs:
  281.  
  282. o tiffgt is used to display the contents of a TIFF file on a
  283.   framebuffer.  The version included in this release was written
  284.   for the Silicon Graphics Graphics Library (GL), although it
  285.   should be a simple matter to tailor it for other systems.
  286. o tiffsv is used to save all or part of a framebuffer in a
  287.   TIFF file.  Once again, the version of tiffsv included here
  288.   was written for the GL, but should be tailorable to other devices.
  289.   (Note, tiffsv uses the readdisplay routine that was introduced
  290.   in IRIX 4.0.)
  291.  
  292. The remaining programs should be device-independent:
  293.  
  294. o tiffinfo formats information about one or more TIFF files
  295. o tiffdump displays the verbatim contents of the TIFF directory in a
  296.   file (it's very useful for debugging bogus files that you may get from
  297.   someone that claims they support TIFF).
  298. o tiffcp is used to copy, concatenate, and convert TIFF images (e.g.
  299.   switching from Compression=5 to Compression=1).
  300. o tiff2ps is a program that converts a TIFF image to PostScript.
  301. o tiffcmp can be used to compare the contents of two TIFF files (it does
  302.   not check all the directory information, but does check all the data).
  303. o tiff2bw is a simple program to convert a color image to grayscale.
  304. o ras2tiff is a quick hack that converts Sun rasterfile format images to
  305.   TIFF -- it's less than complete.
  306. o rgb2ycbcr converts an RGB, grayscale, or bilevel TIFF image to a
  307.   YCbCr TIFF image.
  308. o gif2tiff is a quick hack that converts GIF 87a format images to TIFF.
  309. o ppm2tiff is a quick hack that converts PPM format images to TIFF.
  310. o fax2tiff converts raw Group 3 facsimile data to TIFF.
  311. o pal2rgb converts a Palette color image to a full color RGB image by
  312.   applying the colormap.
  313. o tiffdither dithers a b&w image into a bilevel image (suitable for
  314.   use in creating fax files)
  315. o tiffsplit creates one or more single-image files from a (possibly)
  316.   multi-image file
  317. o Finally, tiffmedian is a version of Paul Heckbert's median cut program
  318.   that reads an RGB TIFF image, and creates a TIFF palette file as a
  319.   result.  It's useful for converting full-color RGB images to 8-bit
  320.   color for your friends that have cheapo 8-bit framebuffers.
  321.  
  322. There is also:
  323.  
  324. o sgi2tiff, a program to convert SGI image files to TIFF.  This
  325.   program is only useful on SGI machines as it uses -limage.
  326.  
  327. Check out the manual pages for details about the above programs.
  328.  
  329. CONTRIBUTED STUFF:
  330. -----------------
  331. The directory contrib has contributed software:
  332.  
  333. contrib/dbs    an X-based TIFF viewer from Dan & Chris Sears
  334. contrib/ras    two programs by Patrick Naughton for converting
  335.         between Sun rasterfile format and TIFF (these
  336.         require libpixrect.a, as opposed to the one in
  337.         tools that doesn't)
  338. contrib/fax2ps    a program that converts TIFF/F images to an encoded
  339.         form of PostScript that is faster to print than just
  340.         dumping a full raster
  341. contrib/vms    scripts and files from Karsten Spang for building
  342.         the library and tools under VMS
  343. contrib/xv    patches to XV version 2.00 to make it support TIFF
  344.         (XV is an X-based viewer from John Bradley)
  345.  
  346. Don't send me mail asking about these programs.  Send questions
  347. and/or bug reports directly to the authors.
  348.  
  349. DOCUMENTATION:
  350. -------------
  351. A copy of the 5.0 spec is included in the doc directory.  This document
  352. was obtained by Bill Johnston of LBL who retrieved it from simtel20. 
  353. Beware that the document has been modified slightly from the original
  354. version to enhance printability.  We've tried to be very careful in making
  355. any changes, but there's always the possibility of mistakes being
  356. introduced.
  357.  
  358. Another document describes a proposed addition to TIFF 6.0 for Associated
  359. Alpha data (i.e. what is now the Matteing tag).
  360.  
  361. TEST IMAGES:
  362. -----------
  363. Test images are available for most formats supported by the library.
  364. The images are kept in a separate archive that should be located along
  365. with this software.  If the archive that you retrieve was v3.0.tar.Z,
  366. then the images should be in the same directory in an archive named
  367. v3.0pics.tar.Z.
  368.  
  369. BUILDING THE SOFTWARE
  370. ---------------------
  371. The software, as distributed, is setup for building the software on an
  372. SGI machine (release 4.0.1 if you care).  To configure things for your
  373. machine, check for Makefiles in the libtiff and tools directories for
  374. your machine:
  375.  
  376.     Makefile.aix    Makefile for an IBM RS/6000 running AIX
  377.     Makefile.apollo    Makefile for an Apollo
  378.     Makefile.hpux    Makefile for HP machines running HP-UX
  379.     Makefile.mips    Makefile for a MIPS running MIPS OS 2.?
  380.     Makefile.next    Makefile for a NeXT
  381.     Makefile.sgi    Makefile for a VGX, GT, GTX, or Personal Iris
  382.     Makefile.sun    Makefile for a Sun-3 or Sun-4 running SunOS 3.5+
  383.     Makefile.tahoe    Makefile for a TAHOE running 4.3BSD
  384.     Makefile.vax    Makefile for a VAX running 4.3BSD
  385.  
  386. If your machine is not represented, you'll have to make up a Makefile
  387. that is right for you.  In libtiff the important things to setup are
  388.  
  389.     AR=/usr/bin/ar            whatever your library archiver is called
  390.     RANLIB=/usr/bin/ranlib        if you need to ranlib a library
  391.     IPATH=-I. -I/usr/include/bsd    list of directories to search includes
  392.     CONF=....                configuring optional support
  393.  
  394. To build the library, just
  395.     cd libtiff; make
  396.  
  397. In the tools directory, you'll want to setup the MACHALL macro,
  398.  
  399.     MACHALL=ras2tiff tiffgt tiffsv
  400.  
  401. and add definitions for how to build tiffgt and tiffsv for your machine
  402. (if appropriate).  Note also that for building the fax2tiff program, the
  403. CONF_LIBRARY macro in the Makefile MUST agree with the definition in the
  404. Makefile in the libtiff directory!  If this is not true, then fax2tiff
  405. will not work.
  406.  
  407. To build the tools library, just
  408.     cd ../tools; make
  409.  
  410. CHECKING OUT THE SOFTWARE
  411. -------------------------
  412. Assuming you have working versions of tiffgt and tiffsv, you can just
  413. use them to view any of the sample images  (the list is given below).
  414. Otherwise, you can check out the operation of the library with tiffcp
  415. and tiffcmp. For example,
  416.  
  417.     tiffcp -lzw cramps.tif x.tif
  418.     tiffcmp cramps.tif x.tif
  419.  
  420. (tiffcmp should be silent if the files compare correctly).
  421.  
  422. BUGS AND SUCH....
  423. -----------------
  424. This software is free.  The only thing that I ask in return is that you
  425. tell me when you find a problem or fix a bug.  I also gladly accept
  426. software contributions, although I hesitate to include such software in
  427. my regular stuff if I am personally unable to test it.
  428.  
  429. There is a mailing list associated with the software,
  430. tiff@ucbvax.berkeley.edu, that you can join by sending a message to
  431. tiff-request@ucbvax.berkeley.edu.  You can also reach me directly at
  432. sam@sgi.com.
  433.  
  434. ACKNOWLEDGEMENTS
  435. ----------------
  436. The LZW algorithm is derived from the compress program (the proper
  437. attribution is included in the source code).  The Group 3 fax stuff
  438. originated as code from Jef Poskanzer, but has since been rewritten
  439. several times.  The latest version uses an algorithm from Michael
  440. Marking -- consult libtiff/mkg3states.c for further information.
  441. Many other people have, by now, helped with bug fixes and code.
  442.  
  443. WARNING
  444. -------
  445. It appears that Unisys is actively pursuing copyright control on the
  446. LZW compression algorithm.  In particular, users of the LZW compression
  447. within the TIFF framework.  For this reason the TIFF 6.0 spec will
  448. state that LZW compression is not recommended.  It is unclear at this
  449. time what compression algorithm will be used in place of it.  I have
  450. no idea what this means to you or to this library.  I make no warranty
  451. or guarantees with regard to the LZW support in this library.
  452.  
  453. FILE CONTENTS
  454. -------------
  455. At least the following files are included in the distribution:
  456.  
  457. libtiff/prototypes.h        stuff for ANSI function prototypes
  458. libtiff/tiff.h            TIFF spec definitions
  459. libtiff/tiffio.h        public TIFF library definitions
  460. libtiff/tiffioP.h        private TIFF library definitions
  461. libtiff/tiffcompat.h        UNIX-compatibility definitions
  462. libtiff/t4.h            CCITT Group 3 1d code tables+definitions
  463. libtiff/tif_fax3.h        CCITT Group 3-related definitions
  464.  
  465. libtiff/tif_aux.c        auxilary directory-related functions
  466. libtiff/tif_ccittrle.c        CCITT 1d Huffman compression
  467. libtiff/tif_compat.c        OS-related compatibility stuff
  468. libtiff/tif_compress.c        list of supported compression algorithms
  469. libtiff/tif_dir.c        directory tag interface code
  470. libtiff/tif_dirinfo.c        directory known tag support code
  471. libtiff/tif_dirread.c        directory reading code
  472. libtiff/tif_dirwrite.c        directory writing code
  473. libtiff/tif_dumpmode.c        "no" compression algorithm
  474. libtiff/tif_fax3.c        CCITT Group 3 fax compression
  475. libtiff/tif_fax4.c        CCITT Group 4 fax compression
  476. libtiff/tif_getimage.c        code to read an entire image into an RGBA raster
  477. libtiff/tif_jpeg.c        JPEG compression placeholder
  478. libtiff/tif_lzw.c        LZW encoding and decoding
  479. libtiff/tif_next.c        NeXT 2-bit decoding algorithm (no encoding)
  480. libtiff/tif_machdep.c        machine/architecture-specific code
  481. libtiff/tif_open.c        open and simply query code
  482. libtiff/tif_packbits.c        Packbits encoding and decoding
  483. libtiff/tif_print.c        directory printing support
  484. libtiff/tif_swab.c        byte and bit swapping support
  485. libtiff/tif_strip.c        some strip-related code
  486. libtiff/tif_thunder.c        Thunderscan decoding (no encoding)
  487. libtiff/tif_tile.c        some tile-related code
  488. libtiff/mkg3states.c        program to generate G3 decoding state tables
  489. libtiff/mkspans.c        program to generate black-white span tables
  490.  
  491. tools/getopt.c        public domain getopt from Berkeley used by tools
  492. tools/fax2tiff.c    convert raw facsimile data to TIFF
  493. tools/gif2tiff.c    convert GIF87 file to TIFF
  494. tools/pal2rgb.c        convert TIFF Palette image to TIFF RGB
  495. tools/ppm2tiff.c    convert PPM image file to TIFF
  496. tools/ras2tiff.c    convert Sun rasterfile format to TIFF (limited)
  497. tools/rgb2ybcr.c    convert TIFF to YCbCr TIFF
  498. tools/sgi2tiff.c    convert SGI image file to TIFF
  499. tools/sgigt.c        TIFF picture get for SGI framebuffer (uses GL)
  500. tools/sgisv.c        save image on SGI framebuffer in TIFF file
  501. tools/tiff2bw.c        convert color TIFF file to B&W
  502. tools/tiff2ps.c        convert TIFF to PostScript
  503. tools/tiffcmp.c        compare two TIFF files
  504. tools/tiffcp.c        copy/convert TIFF files (used to change compression)
  505. tools/tiffdither.c    dither grayscale to bilevel
  506. tools/tiffdump.c    dump TIFF header and directory tags w/o library
  507. tools/tiffinfo.c    print info about TIFF file(s)
  508. tools/tiffmedian.c    median cut RGB -> palette conversion program
  509. tools/tiffsplit.c    split a multi-page TIFF into single-page TIFFs
  510. tools/ycbcr.c        RGB->YCbCr->RGB test program
  511.  
  512. doc/5.0spec        raw text version of TIFF 5.0 spec
  513. doc/ClassF.txt        raw text version of current Class F (fax) document
  514. doc/alpha.ps        PostScript version of proposed TIFF 6.0 appendix
  515. doc/extra.ps        PostScript version of proposed TIFF 6.0 tag
  516. doc/TIFF6.ps        PostScript version of 1st draft of TIFF 6.0 spec
  517.  
  518. man/man1        UNIX manual pages for tools
  519. man/man3        UNIX manual pages for libtiff functions
  520.